﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;

namespace Entidades.jSON
{
    public class ReclamoItemInfo
    {
        #region Constructores
        
        /// <summary>
        /// Constructor por default
        /// </summary>
        /// <param name="guion"></param>
        public ReclamoItemInfo()
        {
        }

        /// <summary>
        /// Construye un objeto ReclamoItemInfo a partir de un Reclamo
        /// </summary>
        /// <param name="reclamo"></param>
        public ReclamoItemInfo(ReclamoItem reclamoItem)
        {
            this.Id             = reclamoItem.Id;

            this.Descripcion    = reclamoItem.Descripcion;
            this.Fecha          = reclamoItem.Fecha;
            this.IdReclamo      = reclamoItem.Reclamo != null ? reclamoItem.Reclamo.Id : WellKnownKeys.Entities.DEFAULT_ID;
            this.IdEmisor       = reclamoItem.Emisor != null ? reclamoItem.Emisor.Id : WellKnownKeys.Entities.DEFAULT_ID;
            this.Emisor         = reclamoItem.Emisor != null ? reclamoItem.Emisor.Nombre + " " + reclamoItem.Emisor.Apellido : String.Empty;
        }

        #endregion

        #region Propiedades

        private int _Id;
        /// <summary>
        /// Id (PK)
        /// </summary>
        public virtual int Id
        {
            get { return _Id; }
            set { _Id = value; }
        }

        private int _IdReclamo;
        /// <summary>
        /// Id del Reclamo
        /// </summary>
        public virtual int IdReclamo
        {
            get { return _IdReclamo; }
            set { _IdReclamo = value; }
        }

        private string _Descripcion;
        /// <summary>
        /// Descripción
        /// </summary>
        public virtual string Descripcion
        {
            get { return _Descripcion; }
            set { _Descripcion = value; }
        }

        private int _IdEmisor;
        /// <summary>
        /// ID del Usuario Emisor
        /// </summary>
        public virtual int IdEmisor
        {
            get { return _IdEmisor; }
            set { _IdEmisor = value; }
        }

        private string _Emisor;
        /// <summary>
        /// Usuario Emisor
        /// </summary>
        public virtual string Emisor
        {
            get { return _Emisor; }
            set { _Emisor = value; }
        }

        private DateTime _Fecha;
        /// <summary>
        /// Fecha
        /// </summary>
        public virtual DateTime Fecha
        {
            get { return _Fecha; }
            set { _Fecha = value; }
        }

        #endregion
    }
}
